Automatic Integration of Ecore Functionality into Java Code
نویسنده
چکیده
Model-driven software development makes developing software faster and less complex by providing a higher abstraction layer than source code. However, since model-driven tools often generate the source code partially or completely from a model, one needs a suitable model to use model-driven approaches. The Eclipse Modeling Framework o ers a meta-metamodel called Ecore, which can be used to create metamodels that can be utilized for model-driven software development. With the Eclipse Modeling Framework, it is possible to generate Java code from Ecore metamodels. This generated code follows speci c patterns. For example, it distinguishes between interface and implementation for every type. Many tools rely on these speci c patterns of the generated code and therefore can only be used with Java code that contains these patterns, which usually is code generated from Ecore metamodels. This thesis introduces an approach for the automatic integration of Ecore functionality into arbitrary Java code. This approach allows using Ecore-dependent tools on existing Java code. To accomplish the integration of Ecore functionality into Java code, this thesis develops a reverse engineering approach for the extraction of Ecore metamodels from Java code. At its core is a mapping from elements of the implicit Java metamodel to elements of the Ecore meta-metamodel. This extraction can also be used independently from the integration of Ecore functionality as a reverse engineering tool. We provide a validation of our approach by integrating Ecore functionality into two Java projects and applying a model transformation on those projects, which was previously only possible with code generated from Ecore metamodels.
منابع مشابه
OWL ontology to Ecore metamodel transformation for designing a domain specific language to develop aviation scenarios
Ontology-driven software development has gained significant interest in domain-specific application development. Ontologies are treated as formal models representing knowledge, which can be used for automatic code generation. Among existing technologies, Eclipse Modeling Framework (EMF) has been widely used to generate domain-specific metamodels and Java code using Ecore. Such robust technologi...
متن کاملDeveloping a Model Composition Framework with Fujaba – An Experience Report
Reuseware is an open-source model composition framework for composing models defined in arbitrary Ecore-based languages. In its four years of development, Reuseware has experienced many extensions and refactorings due to the integration of new research results and requirements. One year ago, a redevelopment of Reuseware’s core was started. Thanks to its EMF code generation, Fujaba was introduce...
متن کاملJNI – C++ integration made easy
The Java Native Interface (JNI) [1] provides interoperation between Java code running on a Java Virtual Machine and code written in other programming languages (e.g., C++ or assembly). The JNI is useful when existing libraries need to be integrated into Java code, or when portions of the code are implemented in other languages for improved performance. The Java Native Interface is extremely fle...
متن کامل.1 Organizing Committee @bullet Jendrik Johannes. Developing a Model Composition Framework with Fujaba an Ex- Perience Report Pattern Matching and Rewriting (day 1) Developing a Model Composition Framework with Fujaba – an Experience Report
Reuseware is an open-source model composition framework for composing models defined in arbitrary Ecore-based languages. In its four years of development, Reuseware has experienced many extensions and refactorings due to the integration of new research results and requirements. One year ago, a redevelopment of Reuseware’s core was started. Thanks to its EMF code generation, Fujaba was introduce...
متن کاملvMAGIC - Automatic Code Generation for VHDL
Automatic code generation is a standard method in software engineering, improving the code reliability as well as reducing the overall development time. In hardware engineering, automatic code generation is utilized within a number of development tools, the integrated code generation functionality, however, is not exposed to developers wishing to implement their own generators. In this paper, V...
متن کامل